home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1986-11-13 | 4.4 KB | 88 lines
10 KEY OFF:KEY(10) ON:ON KEY(10) GOSUB 620:KEY(9) ON:ON KEY(9) GOSUB 450:DIM A(18):FOR I=1 TO 18:A(I)=I:NEXT I:COLOR 3,0,8 20 CLS:R=0:N=0:GOSUB 860:FOR I=1 TO 100:SWAP A(INT(RND*18+1)),A(INT(RND*18+1)):NEXT I 30 CLS:LOCATE 1,34:COLOR 0,7:PRINT"IQ Builder ":COLOR 11,0 40 LOCATE 2,34:PRINT"Analogies 3":COLOR 0,11 50 LOCATE 4,21:PRINT CHR$(201); 60 FOR J=1 TO 35 70 PRINT CHR$(205); 80 IF J > 35 GOTO 100 90 NEXT J 100 PRINT CHR$(187) 110 LOCATE 5,21:PRINT CHR$(186);:PRINT"Press <F9> to skip to next section."; 120 PRINT CHR$(186) 130 LOCATE 6,21:PRINT CHR$(186);:PRINT"Press <F10> to return to main menu."; 140 PRINT CHR$(186) 150 LOCATE 7,21:PRINT CHR$(200); 160 FOR J=1 TO 35 170 PRINT CHR$(205); 180 IF J > 35 GOTO 200 190 NEXT J 200 PRINT CHR$(188):COLOR 7,0 210 XX=1:C=A(XX):R=0:N=0 220 RESTORE:IF C>1 THEN FOR L=1 TO C-1:FOR X=1 TO 10:READ A$:NEXT X,L 230 GOSUB 820 240 COLOR 0,3:PRINT"Problem" C 250 PRINT:PRINT"Complete the second analogy so that it is most like the first:" 260 READ A$,B$:PRINT 270 AL=LEN(A$):BL=LEN(B$):COLOR 11,0 280 PRINT "VARPTR" STRING$(AL,"SOUND") "COLOR " "VARPTR" STRING$(BL,"SOUND") "COLOR" 290 PRINT "CALL" A$ "CALL";:COLOR 0,11:PRINT" is to ";:COLOR 11,0:PRINT "CALL" B$ "CALL";:COLOR 0,11:PRINT " as":COLOR 11,0 300 PRINT "CLS" STRING$(AL,"SOUND") "' " "CLS" STRING$(BL,"SOUND") "'":PRINT 310 READ A$:AL=LEN(A$):COLOR 11,0 320 PRINT "VARPTR" STRING$(AL,"SOUND") "COLOR " "VARPTR" STRING$(3,"SOUND") "COLOR" 330 PRINT "CALL" A$ "CALL";:COLOR 0,11:PRINT" is to ";:COLOR 11,0:PRINT "CALL" " ? " "CALL":COLOR 11,0 340 PRINT "CLS" STRING$(AL,"SOUND") "' " "CLS" STRING$(3,"SOUND") "'" 350 FOR X=1 TO 5:COLOR 3,8:PRINT SPC(9+AL) "(";:COLOR 11,0:PRINT X;:COLOR 3,8:PRINT") ";:READ A$:PRINT A$:NEXT X 360 READ K, A$ 370 LOCATE 25,1:PRINT"Your choice is - ";:N=N+1:Z=Z+1 380 GOSUB 870:IF INSTR("12345",IKEY$)=0 THEN 380 ELSE A=VAL(IKEY$) 390 IF (A<>K)*(Z>1) THEN PLAY "mfn27n20t32":LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:COLOR 11,12:PRINT"No! The answer was " K ".";:COLOR 7,0:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:GOTO 430 400 IF (A=K)*(Z=1) THEN LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Correct!";:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:R=R+1:GOTO 430 410 IF (A=K)*(Z>1) THEN LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Right...";:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:R=R+0.7:GOTO 430 420 PLAY "mfn27n20t32":LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:COLOR 12,1:PRINT"No, but here is a hint: " A$;:COLOR 7,0:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:GOTO 370 430 XX=XX+1:Z=0 440 IF XX<18 THEN C=A(XX):GOTO 220 450 COLOR 11,4:LOCATE 1,1:PRINT SPC(33):LOCATE 1,45:PRINT SPC(35) 460 LOCATE 2,1:PRINT SPC(33):LOCATE 2,45:PRINT SPC(35) 470 LOCATE 3,1:PRINT SPC(79) 480 LOCATE 4,1:PRINT SPC(20):LOCATE 4,58:PRINT SPC(22) 490 LOCATE 5,1:PRINT SPC(20):LOCATE 5,58:PRINT SPC(22) 500 LOCATE 6,1:PRINT SPC(20):LOCATE 6,58:PRINT SPC(22) 510 LOCATE 7,1:PRINT SPC(20):LOCATE 7,58:PRINT SPC(22) 520 COLOR 11,4:GOSUB 820:COLOR 3,0:LOCATE 15,17 530 IF N<3 THEN PRINT"You didn't give me much of a chance, did you?":GOTO 600 540 PRINT"You scored" R "right out of" N "or" INT(100*R/N) "percent." 550 IF R/N<0.6 THEN LOCATE 18,21:PRINT"I'll bet you do better next time.":TIMEOUT=5:GOSUB 830:RUN 560 LOCATE 18,34:IF R/N<=0.8 THEN PRINT"Good job!":GOTO 600 570 IF R/N<=0.9 THEN PRINT"Very good!":GOTO 600 580 IF R/N<=0.99 THEN PRINT"Excellent!":GOTO 600 590 COLOR 19,0:PRINT"Brilliant!" 600 COLOR 3,0:LOCATE 25,1:PRINT "Press space bar to continue."; 610 IN$=INKEY$:IF IN$="" THEN 610 ELSE 630 620 SYSTEM 630 RUN "analogy4 640 DATA bass, soprano, low, top, voice, male, high, music, 4, opposites on scale 650 DATA bustle, ado, defer, jump, anticipate, procrastinate, yield, give, 3, same meaning 660 DATA cat, kitten, lion, tiger, lioness, baby, young, cub, 5, parent to offspring 670 DATA concise, verbose, exact, qualify, imprecise, inferior, opulent, terse, 2, on target to off target 680 DATA dregs, wine, slag, iron, drink, grapes, rot, castoff, 1, left overs 690 DATA dusk, dawn, death, infancy, birth, growth, maturity, beginning, 2, opp. ends of the same line 700 DATA hammer, nail, bat, strike, hit, baseball, fly, swing, 3, tool hits 710 DATA ladder, rung, bicycle, pedal, lock, cover, divider, hinge, 1, something to hold 720 DATA lawyer, doctor, mechanic, automobile, plumber, wrench, accountant, priest, 2, professional to blue collar 730 DATA leg, man, wheel, walk, bike, woman, clock, turn, 2, locomotion 740 DATA obituary, eulogy, libel, slander, arson, print, law, abuse, 1, written to spoken 750 DATA pint, liter, yard, quart, metric, drink, volume, meter, 5, one system to another 760 DATA positive, negative, +, x, /, -, 0, *, 3, numerical signs 770 DATA spice, food, wit, fame, information, conversation, fortune, intelligence, 3, adds flavor 780 DATA synthetic, natural, rhinestone, chemical, stone, rock, diamond, grow, 4, one is imitation 790 DATA time, scythe, justice, liberty, scales, pedestal, clock, chains, 2, statue holds these 800 DATA usury, interest, miserly, money, misfortune, frugality, thievery, opulence, 3, one word extreme of other 810 DATA wince, pain, blush, embarrassment, cry, anger, avoid, dislike, 1, caught telling a lie 820 FOR Y=8 TO 24:LOCATE Y,1:PRINT SPC(79);:NEXT Y:LOCATE 8,1:RETURN 830 TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2)) 840 TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2)) 850 IF TIMEOUT > TIME3 - TIME2 THEN 840 ELSE RETURN 860 RNDTIME$=TIME$:RNDVAL=VAL(LEFT$(RNDTIME$,2))*120+VAL(MID$(RNDTIME$,4,2))*60+VAL(RIGHT$(RNDTIME$,2)):RANDOMIZE RNDVAL:RETURN 870 IKEY$=INKEY$:IF IKEY$="" THEN 870 ELSE RETURN